from django.db import models
from django.utils import timezone
from django.contrib.auth.models import AbstractUser

import uuid
# 导入信号
from django.db.models.signals import pre_delete
from django.dispatch.dispatcher import receiver


# Create your models here.


class CarInfoModel(models.Model):
    """
    车辆信息表格
    绑定密令+1.申请绑定。2.系统发给密令。3.另一人输入密令。4.绑定成功。
    """
    company = models.IntegerField(null=True, blank=True, verbose_name="公司信息", help_text="公司信息")
    car_license = models.CharField(max_length=20, unique=True, null=False, blank=False, verbose_name="车牌",
                                   help_text="车牌")
    start_station = models.CharField(max_length=25, null=False, blank=False, verbose_name="开始站点", help_text="开始站点")
    end_station = models.CharField(max_length=25, null=False, blank=False, verbose_name="结束站点", help_text="结束站点")
    is_active = models.BooleanField(default=True, null=False, blank=False, verbose_name="是否激活", help_text="是否激活")
    expire_date = models.CharField(max_length=25, null=False, blank=False, verbose_name="到期日期", help_text="到期日期")
    controller = models.JSONField(null=True, blank=True, verbose_name="管理者", help_text="管理者：可以包含驾驶员、售票员等")
    created_time = models.CharField(max_length=25, null=False, blank=False, verbose_name="创建时间",
                                    help_text="创建时间")

    class Meta:
        verbose_name = '车辆信息表格'
        verbose_name_plural = verbose_name

    def __str__(self):
        return str(self.id)


class FixedStationInfoModel(models.Model):
    """
    固定站点信息
    """
    car = models.IntegerField(null=False, blank=False, verbose_name="汽车信息", help_text="汽车信息")
    name = models.CharField(max_length=30, null=False, blank=False, verbose_name="站点名称", help_text="站点名称")

    class Meta:
        verbose_name = '固定站点信息表格'
        verbose_name_plural = verbose_name

    def __str__(self):
        return str(self.id)


class TipsInfoModel(models.Model):
    """
    提示信息表格——提示信息包括公共和私有(用户自己创建)。
    例如：
        旅客朋友们，请车上抱着小孩的乘客注意安全。
        旅客朋友们，车辆即将出发，请坐好并系好安全带，途中被交警查到，交警会让您交罚款。
        旅客朋友们，车辆行驶中，请勿走动，当心摔倒。
        旅客朋友们，下车请拿好您的行李，不要忘记。
    """
    typeof = models.BooleanField(default=False, null=False, blank=False, verbose_name="提示类型",
                                 help_text="提示类型：True表示公共，false表示私有")
    car = models.IntegerField(null=True, blank=True, verbose_name="汽车信息", help_text="汽车信息：如果没有值表明是公用的提示信息")
    text = models.TextField(null=True, blank=True, verbose_name="提示内容", help_text="提示内容")
    created_time = models.CharField(max_length=25, null=True, blank=True, verbose_name="创建时间", help_text="创建时间")

    class Meta:
        verbose_name = '提示信息表格'
        verbose_name_plural = verbose_name

    def __str__(self):
        return str(self.id)







